<!DOCTYPE html>
<html lang="zh-CH" >
<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta name="author" content="" />
	
	
	
	<title>Unity3D 项目专属文件夹 ｜ zansimple</title>
	
    
    
    <meta name="description" content="Unity3D 项目专属文件夹须知 隐藏文件夹 以.开头的文件夹会被Unity忽略。在这种文件夹中的资源不会被导入，脚本不会被编译。也不会出现在Project视图中。这种文件我们可以在资源浏览器的时候，能找到这些文件。
standard Assets 在这个文件夹中的脚本最先被编译。一般是放一些Unity 内置的一些资源。 这个文件夹中的脚本会被导出到Assembly-CSharp-firstpass,Assembly-UnityScript-firstpass 或 Assembly-Boo-firstpass项目中，依语言而定。 官方文档 在这个文件夹中的脚本比其他脚本都要先编译。将脚本放在这个文件夹里，就可以用C#脚本来访问js脚本或其他语言的脚本。
Pro Standard Assets 和StandardAssets相同，只不过里面的文件是给Pro版本的Unity使用的。当然它的功能更为的丰富，例如一些高级内置的shader文件，只有在Pro版才能起作用。
Editor 以Editor命名的文件夹允许其中的脚本访问UnityEditor的API。如果脚本中使用了在UnityEditor命名空间中的类或方法，它必须被放在名为Editor的文件夹中。Editor文件夹中的脚本不会在build时被包含。 在项目中可以有多个Editor文件夹。［注意：如果在普通的文件夹下，Editor文件夹可以处于目录的任何层级。如果在特殊文件夹下，那Editor文件夹必须是特殊文件夹的直接子目录。］
Editor Default Resources 你可以把编辑器用到的一些资源放在这里，比如图片、文本文件、等等。它和Editor文件夹一样都不会被打到最终发布包里，仅仅用于开发时使用。你可以直接通过EditorGUIUtility.Load去读取该文件夹下的资源，
例如：
TextAsset text = EditorGUIUtility.Load(“1.txt&amp;quot;) as TextAsset; Plugins Plugins文件夹用来放native插件。它们会被自动包含进build中去。注意这个文件夹只能是Assets文件夹的直接子目录。
例如：
Windows：dll文件:
Mac OS X：bundle文件；
Linux下：.so文件。
和StandardAssets一样，这里的脚本会更早的编译，并且允许它们被之外的脚本访问。
 Plugins/x86 || x86_64 (一般PC平台) 如果为32bit或64bit平台创建游戏，那么这个文件夹下的nativeplugin文件会被自动的包含在游戏build中。如果这个文件夹不存在，则Unity会查找Plugins文件夹下的nativepluglins。 如果要创建universalbuild，建议你同时使用这两个文件夹。然后将32bit和64bit的nativeplugins放进相应的文件夹中。 Plugins/Android 在这个文件夹里放入Java.jar文件。用于java语言的plugins。.so文件也会被包含进来。 官方文档 Plugins/iOS 在这个文件夹放入.o、.m 、 .mm 、.c 、.cpp等文件，一般在IOS 平台导出对应的文件。 官方文档  Resources Resources 文件夹允许你在脚本中通过文件路径和名称来访问资源。放在这一文件夹的资源永远被包含进 build 中，即使它没有被使用。因为Unity无法判断脚本有没有访问了其中的资源。项目中可以有多个Resources文件夹，因此不建议在多个文件夹中放同名的资源。一旦build游戏，Resources 文件夹中的所有资源被打包进游戏存放资源的 archive 中。这样在游戏的 build 中就不存在 Resources 文件夹了。即使脚本中仍然使用了资源在项目中的路径。官方文档" />
    

    

	
    
    <link rel="shortcut icon" href="https://lenzan.github.io/images/favicon.ico" />

    <link rel="stylesheet" type="text/css" media="screen" href="https://lenzan.github.io/css/normalize.css" />
    <link rel="stylesheet" type="text/css" media="screen" href="https://cdn.jsdelivr.net/npm/animate.css@4.1.0/animate.min.css" />
    <link rel="stylesheet" type="text/css" media="screen" href="https://lenzan.github.io/css/zozo.css" />
	<link rel="stylesheet" type="text/css" media="screen" href="https://cdn.jsdelivr.net/npm/remixicon@2.5.0/fonts/remixicon.css" />
    <link rel="stylesheet" type="text/css" media="screen" href="https://lenzan.github.io/css/highlight.css" />

    
    
</head>

<body>
    <div class="main animate__animated animate__fadeInDown">
        <div class="nav_container animated fadeInDown">
    <div class="site_nav" id="site_nav">
        <ul>
            
            <li>
                <a href="/">首页</a>
            </li>
            
            <li>
                <a href="/">unity</a>
            </li>
            
            <li>
                <a href="/">归档</a>
            </li>
            
            <li>
                <a href="/">关于</a>
            </li>
            
        </ul>
    </div>
    <div class="menu_icon">
        <a id="menu_icon"><i class="ri-menu-line"></i></a>
    </div>
</div>
        <div class="header animated fadeInDown">
    <div class="site_title_container">
        <div class="site_title">
            <h1>
                <a href="https://lenzan.github.io/">
                    <span>zansimple</span>
                    <img src="https://lenzan.github.io/images/logo.svg" />
                </a>
            </h1>
        </div>
        <div class="description">
            <p class="sub_title">专注于Unity虚拟现实开发，游戏开发</p>
            <div class="my_socials">
                
                <a href="https://lenzan.github.io/index.xml" type="application/rss+xml" title="rss" target="_blank"><i
                        class="ri-rss-fill"></i></a>
            </div>
        </div>
    </div>
</div>
        <div class="content">
            <div class="post_page">
                <div class="post animate__animated animate__fadeInDown">
                    <div class="post_title post_detail_title">
                        <h2><a href='/posts/Unity/UnityFolder/'>Unity3D 项目专属文件夹</a></h2>
                        <span class="date">2018.08.15</span>
                    </div>
                    <div class="post_content markdown"><h2 id="unity3d-项目专属文件夹须知">Unity3D 项目专属文件夹须知</h2>
<h3 id="隐藏文件夹">隐藏文件夹</h3>
<p>以.开头的文件夹会被Unity忽略。在这种文件夹中的资源不会被导入，脚本不会被编译。也不会出现在Project视图中。这种文件我们可以在资源浏览器的时候，能找到这些文件。</p>
<h3 id="standard-assets">standard Assets</h3>
<p>在这个文件夹中的脚本最先被编译。一般是放一些Unity 内置的一些资源。
这个文件夹中的脚本会被导出到Assembly-CSharp-firstpass,Assembly-UnityScript-firstpass 或 Assembly-Boo-firstpass项目中，依语言而定。
<a href="http://docs.unity3d.com/Documentation/Manual/ScriptCompileOrderFolders.html">官方文档</a>
在这个文件夹中的脚本比其他脚本都要先编译。将脚本放在这个文件夹里，就可以用C#脚本来访问js脚本或其他语言的脚本。</p>
<h3 id="pro-standard-assets">Pro Standard Assets</h3>
<p>和StandardAssets相同，只不过里面的文件是给Pro版本的Unity使用的。当然它的功能更为的丰富，例如一些高级内置的shader文件，只有在Pro版才能起作用。</p>
<h3 id="editor">Editor</h3>
<p>以Editor命名的文件夹允许其中的脚本访问UnityEditor的API。如果脚本中使用了在UnityEditor命名空间中的类或方法，它必须被放在名为Editor的文件夹中。Editor文件夹中的脚本不会在build时被包含。
在项目中可以有多个Editor文件夹。［注意：如果在普通的文件夹下，Editor文件夹可以处于目录的任何层级。如果在特殊文件夹下，那Editor文件夹必须是特殊文件夹的直接子目录。］</p>
<h3 id="editor-default-resources">Editor Default Resources</h3>
<p>你可以把编辑器用到的一些资源放在这里，比如图片、文本文件、等等。它和Editor文件夹一样都不会被打到最终发布包里，仅仅用于开发时使用。你可以直接通过EditorGUIUtility.Load去读取该文件夹下的资源，<br>
例如：</p>
<pre><code>TextAsset text =    EditorGUIUtility.Load(“1.txt&quot;) as TextAsset;
</code></pre>
<h3 id="plugins">Plugins</h3>
<p>Plugins文件夹用来放native插件。它们会被自动包含进build中去。注意这个文件夹只能是Assets文件夹的直接子目录。<br>
例如：<br>
Windows：dll文件:<br>
Mac OS X：bundle文件；<br>
Linux下：.so文件。<br>
和StandardAssets一样，这里的脚本会更早的编译，并且允许它们被之外的脚本访问。</p>
<ul>
<li>Plugins/x86 || x86_64   (一般PC平台)
如果为32bit或64bit平台创建游戏，那么这个文件夹下的nativeplugin文件会被自动的包含在游戏build中。如果这个文件夹不存在，则Unity会查找Plugins文件夹下的nativepluglins。
如果要创建universalbuild，建议你同时使用这两个文件夹。然后将32bit和64bit的nativeplugins放进相应的文件夹中。</li>
<li>Plugins/Android
在这个文件夹里放入Java.jar文件。用于java语言的plugins。.so文件也会被包含进来。
<a href="http://docs.unity3d.com/Documentation/Manual/PluginsForAndroid.html">官方文档</a></li>
<li>Plugins/iOS
在这个文件夹放入.o、.m 、 .mm 、.c 、.cpp等文件，一般在IOS 平台导出对应的文件。
<a href="http://docs.unity3d.com/Documentation/Manual/PluginsForIOS.html">官方文档</a></li>
</ul>
<h3 id="resources">Resources</h3>
<p>Resources 文件夹允许你在脚本中通过文件路径和名称来访问资源。放在这一文件夹的资源永远被包含进 build 中，即使它没有被使用。因为Unity无法判断脚本有没有访问了其中的资源。项目中可以有多个Resources文件夹，因此不建议在多个文件夹中放同名的资源。一旦build游戏，Resources 文件夹中的所有资源被打包进游戏存放资源的 archive 中。这样在游戏的 build 中就不存在 Resources 文件夹了。即使脚本中仍然使用了资源在项目中的路径。<a href="http://docs.unity3d.com/Documentation/Manual/LoadingResourcesatRuntime.html">官方文档</a><br>
注意： <br>
当资源作为脚本变量被访问时，这些资源在脚本被实例化后就被加载进内存。如果资源太大，你可能不希望它被这样加载。那么你可以将这些大资源放进 Resources 文件夹中，通过 Resources.Load 来加载。当不再使用这些资源了，可以通过 Destroy 物体，再调用 Resources.UnloadUnusedAssets 来释放内存。<br>
特点：<br>
- 文件夹内资源打包集成 .asset 文件里面，例如一些 shader／material/prefab 等资源文件;
- 里面的资源只能是只读，不能动态修改，一般动态的更新的资源不雅放在这个文件夹内;
- 通过主线程加载；
- Resources.Load(); 加载资源
Resources.LoadAll(); 加载所有资源
Resources.LoadAsync(); 异步加载资源</p>
<h3 id="gizmos">Gizmos</h3>
<p>Gizmos 文件夹存放用 Gizmos.DrawIcon 方法使用的贴图、图标资源。放在 Gizmos 文件夹中的贴图资源可以直接通过名称使用，可以被 Editor 作为 gizmo 画在屏幕上。这里还是要说说 OnDrawGizmos() 方法，只要脚本继承了 MonoBehaviour 后，并且在编辑模式下就会每一帧都执行它。发布的游戏肯定就不会执行了，它只能用于在 scene 视图中绘制一些小物件。比如要做摄像机轨迹，那么肯定是要在 Scene 视图中做一个预览的线，那么用 Gizmos.DrawLine 和 Gizmos.DrawFrustum 就再好不过了。</p>
<h3 id="webplayertemplates">WebPlayerTemplates</h3>
<p>用来替换 webbuild 的默认网页。这个文件夹中的脚本都不会被编译。这个文件夹必须作为 Assets 文件夹的直接子目录。</p>
<h3 id="streamingassets">StreamingAssets</h3>
<p>这里的文件会被拷贝到 build 文件夹中，不会修改（移动和网页版不同，他们会被嵌入到最终 build 文件中）。它们的路径会因平台而有差异，但都可以通过 Application.streamingAssetsPath 来访问。<br>
例如：有些游戏为了让所有的资源全部使用 assetbundle ，会把一些初始的 assetbundle 放在 StreamingAssets 目录下, StreamingAssets 目录下的资源都是不压缩的，而且它比较大会占空间。</p>
</div>
                    <div class="post_footer">
                        
                        <div class="meta">
                            <div class="info">
                                <span class="field tags">
                                    <i class="ri-stack-line"></i>
                                    
                                    <a href="https://lenzan.github.io/tags/Unity3D/">Unity3D</a>
                                    
                                </span>
                            </div>
                        </div>
                        
                    </div>
                </div>
                
                
            </div>
        </div>
    </div>
    <a id="back_to_top" href="#" class="back_to_top"><span>△</span></a>
    <footer class="footer">
    <div class="powered_by">
        <a href="https://varkai.com">Designed by VarKai,</a>
        <a href="http://www.gohugo.io/">Proudly published with Hugo</a>
    </div>

    <div class="footer_slogan">
        <span></span>
    </div>
</footer>
    <script src="https://lenzan.github.io/js/jquery-3.5.1.min.js"></script>
<link href="https://lenzan.github.io/css/fancybox.min.css" rel="stylesheet">
<script src="https://lenzan.github.io/js/fancybox.min.js"></script>
<script src="https://lenzan.github.io/js/zozo.js"></script>






</body>

</html>